Media contents distribution system and method

ABSTRACT

A server stores a media content and an execution program for processing the media content, and determines a usage rule for the media content to be transmitted to a terminal. The server distributes the usage rule, the media content, and the execution program to the terminal. The terminal stores the distributed usage rule, media content, and execution program. The terminal executes the stored execution program and processes the stored media content within the bounds of the usage rule as stored. The server may perform a billing process in accordance with the determined usage rule, or select and distribute a media content or an execution program in accordance with the processing ability of the terminal or a state of communications. Moreover, the server may distribute, in addition to the execution program, middleware for constructing an operating environment for the execution program.

This is a divisional application of U.S. patent application Ser. No.10/310,931, filed Dec. 6, 2002, now issued as U.S. Pat. No. 7,305,484.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a media contents distribution system,and more particularly to a system for distributing a multimedia contentcontaining video data and/or audio data to users, while preventingunauthorized use thereof.

2. Description of the Background Art

In recent years, network systems have been developed as part of thesocial infrastructure, and consequently, multimedia contents containingdigital data such as images, moving pictures, and audio are widelyspread via such networks. Moreover, large-capacity recording media havebeen developed, making it possible to distribute multimedia contents viasuch recording media. Digital data is easy to preserve and duplicate,and does not deteriorate in quality through preservation or duplication.As a result, if unauthorized preservation or duplication of mediacontents containing digital data is committed by a recipient, the rightsof the author of such media contents are infringed, thus detracting fromthe profit of the provider of the media contents. In order to preventthis situation, when distributing any media content containing digitaldata, it is necessary to impose certain limitations on the use of themedia content by users.

Conventionally, the limitation on the use of media contents has beenrealized by, for example, encrypting digital data. Another alternativehas been to ensure that a user makes an agreement concerning the use ofa media content at the time of purchasing the media content, after whichthe limitation on the use of the media content is left up to theconscience of the user.

However, even if digital data is encrypted, a decryption key fordecrypting the encrypted digital data may be stolen, so that it is stillimpossible to completely prevent unauthorized preservation orduplication of media contents by the recipients. Any agreement directedto the limitation of the use of a media content cannot guarantee thatthe agreement will be abided by.

A multimedia content is characterized in that, once purchased, it can beplayed back or viewed an unlimited number of times, substantiallyperpetually. On the other hand, from the perspective of the user, somemedia contents are only needed for a certain period of time and neveragain thereafter. In particular, as the amount of a single media contentincreases, which is currently the case, the data which is really neededby a user may often be only a part of the purchased media content. Evenin such cases, however, the user is still paying a fee which often farexceeds what should be the real price in view of the extent to which theuser has actually used the media content.

Therefore, from the perspective of the provider of a media content, asystem is desired which can effectively limit the use of a media contentby a user; and from the perspective of the user, a system is desiredwhich only requires the user to pay a price according to the extent towhich the user has actually used the media content, in exchange forsomewhat limited usage. There have not been known any such systems todate.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a mediacontents distribution system which can effectively limit the use of amedia content by a user. Another object of the present invention is toprovide a media contents distribution system which is capable of billinga user in such a manner that the user only needs to pay a priceaccording to the extent to which the user has actually used a mediacontent.

The present invention has the following features to attain theabove-described objects.

A first aspect of the present invention is directed to a media contentsdistribution system for distributing a media content via a communicationnetwork, where the system comprises a server and a terminal. The servercomprises: a server-side storage unit operable to store a media contentand an execution program for processing the media content; atransmission unit operable to transmit the media content and theexecution program stored in the server-side storage unit to theterminal; and a condition setting unit operable to determine a usagerule for the media content to be transmitted to the terminal. Theterminal comprises: a reception unit operable to receive the mediacontent and the execution program from the server; a terminal-sidestorage unit operable to at least store the execution program receivedby the reception unit; a control unit operable to permit use of themedia content within the bounds of the usage rule determined by thecondition setting unit; and a processing unit operable to, as permittedby the control unit, execute the execution program stored in theterminal-side storage unit, and process the media content received bythe reception unit.

According to the first aspect, the server determines a usage rule forthe media content to be transmitted to the terminal, and the terminalexecutes the distributed execution program within the bounds of theusage rule determined at the server, thereby processing the distributedmedia content. In other words, the terminal processes the media contentwithin the bounds of the usage rule determined by the server. As aresult, the use of the media content by a user can be effectivelylimited.

In a second aspect based on the first aspect, the media content storedin the server-side storage unit comprises video data and/or audio data,and the condition setting unit determines the usage rule in terms of amode of use at least including playback.

According to the second aspect, copyrights to a multimedia contentcontaining video data and/or audio data can be protected.

In a third aspect based on the first aspect, prior to using the mediacontent, the transmission unit transmits the media content and theexecution program stored in the server-side storage unit and the usagerule determined by the condition setting unit to the terminal, and thereception unit receives the media content, the execution program and theusage rule from the server. The terminal-side storage unit stores themedia content, the execution program and the usage rule received by thereception unit, at a time of using the media content, the control unitpermits use of the media content in accordance with the usage rulestored in the terminal-side storage unit, and the processing unitprocesses the media content stored in the terminal-side storage unit.

According to the third aspect, the media content, the execution program,and the usage rule are distributed from the server to the terminal, andare thereafter kept under management at the terminal.

In a fourth aspect based on the third aspect, when the condition settingunit determines a new usage rule for the media content stored in theterminal-side storage unit, the transmission unit transmits the newusage rule determined by the condition setting unit to the terminal, thereception unit receives the new usage rule from the server, and theterminal-side storage unit updates the usage rule stored therein withthe new usage rule received by the reception unit.

According to the fourth aspect, the usage rule for the media content canbe changed at an arbitrary point in time.

In a fifth aspect based on the third aspect, when a new executionprogram is needed for using the media content at the terminal, thecondition setting unit determines a new usage rule for the media contentstored in the terminal-side storage unit, and the transmission unittransmits the new execution program stored in the server-side storageunit and the new usage rule determined by the condition setting unit tothe terminal. The reception unit receives the new execution program andthe new usage rule from the server, and the terminal-side storage unitupdates the execution program and the usage rule stored therein with thenew execution program and the new usage rule received by the receptionunit, respectively.

According to the fifth aspect, if another execution program becomesneeded for the use of the media content at the terminal, the otherexecution program is distributed from the server to the terminal, andthe execution program stored in the terminal is updated with the otherexecution program distributed from the server.

In a sixth aspect based on the first aspect, the server-side storageunit further stores the usage rule determined by the condition settingunit. The transmission unit transmits the media content and theexecution program stored in the server-side storage unit to the terminalprior to using the media content, and at a time of using the mediacontent, transmits the usage rule stored in the server-side storage unitto the terminal. The reception unit receives the media content, theexecution program and the usage rule from the server, and theterminal-side storage unit stores the media content and the executionprogram received by the reception unit. The control unit permits use ofthe media content in accordance with the usage rule received by thereception unit at the time of using the media content, and theprocessing unit processes the media content stored in the terminal-sidestorage unit.

According to the sixth aspect, the media content and the executionprogram are distributed from the server to the terminal, and arethereafter kept under management at the terminal, whereas the usage ruleis kept under management at the server. As a result, the tampering ofthe usage rule at the terminal can be prevented.

In a seventh aspect based on the sixth aspect, when the conditionsetting unit determines a new usage rule for the media content stored inthe terminal-side storage unit, the server-side storage unit updates theusage rule stored therein with the new usage rule determined by thecondition setting unit.

According to the seventh aspect, the usage rule for the media contentcan be changed at an arbitrary point in time.

In an eighth aspect based on the sixth aspect, when a new executionprogram is needed for using the media content at the terminal, thecondition setting unit determines a new usage rule for the media contentstored in the terminal-side storage unit, and the server-side storageunit updates the usage rule stored therein with the new usage ruledetermined by the condition setting unit, the transmission unittransmits the new execution program stored in the server-side storageunit to the terminal. The reception unit receives the new executionprogram from the server, and the terminal-side storage unit updates theexecution program stored therein with the new execution program receivedby the reception unit.

According to the eighth aspect, if another execution program becomesneeded for the use of the media content at the terminal, the otherexecution program is distributed from the server to the terminal, andthe execution program stored in the terminal is updated with the otherexecution program distributed from the server.

In a ninth aspect based on the first aspect, the transmission unittransmits the execution program stored in the server-side storage unitand the usage rule determined by the condition setting unit to theterminal prior to using the media content, and transmits the mediacontent stored in the server-side storage unit to the terminal duringuse of the media content. The reception unit receives the media content,the execution program and the usage rule from the server, theterminal-side storage unit stores the execution program and the usagerule received by the reception unit, at a time of using the mediacontent, the control unit permits use of the media content in accordancewith the usage rule stored in the terminal-side storage unit, and theprocessing unit processes the media content received by the receptionunit concurrently as the reception unit receives the media content.

According to the ninth aspect, the execution program and the usage ruleare distributed from the server to the terminal, and are thereafter keptunder management at the terminal, whereas the media content is keptunder management at the server. In this case, the terminal keepsprocessing the media content while receiving the media content from theserver. As a result, it becomes possible to prevent unauthorizedduplication of the media content at the terminal.

In a tenth aspect based on the ninth aspect, when the condition settingunit determines a new usage rule for the media content to be transmittedto the terminal, the transmission unit transmits the new usage ruledetermined by the condition setting unit to the terminal, the receptionunit receives the new usage rule from the server, and the terminal-sidestorage unit updates the usage rule stored therein with the new usagerule received by the reception unit.

According to the tenth aspect, the usage rule for the media content canbe changed at an arbitrary point in time.

In an eleventh aspect based on the ninth aspect, when a new executionprogram is needed for using the media content at the terminal, thecondition setting unit determines a new usage rule for the media contentto be transmitted to the terminal, and the transmission unit transmitsthe new execution program stored in the server-side storage unit and thenew usage rule determined by the condition setting unit to the terminal.The reception unit receives the new execution program and the new usagerule from the server, and the terminal-side storage unit updates theexecution program and the usage rule stored therein with the newexecution program and the new usage rule received by the reception unit,respectively.

According to the eleventh aspect, if another execution program becomesneeded for the use of the media content at the terminal, the otherexecution program is distributed from the server to the terminal, andthe execution program stored in the terminal is updated with the otherexecution program distributed from the server.

In a twelfth aspect based on the first aspect, the server-side storageunit further stores the usage rule determined by the condition settingunit, and the transmission unit transmits the execution program storedin the server-side storage unit to the terminal prior to using the mediacontent, transmits the usage rule stored in the server-side storage unitto the terminal at a time of using the media content, and transmits themedia content stored in the server-side storage unit to the terminalduring use of the media content. The reception unit receives the mediacontent, the execution program and the usage rule from the server, andthe terminal-side storage unit stores the execution program received bythe reception unit. The control unit permits use of the media content inaccordance with the usage rule received by the reception unit at thetime of using the media content, and the processing unit processes themedia content received by the reception unit concurrently as thereception unit receives the media content.

According to the twelfth aspect, the execution program is distributedfrom the server to the terminal, and is thereafter kept under managementat the terminal, whereas the media content and the usage rule are keptunder management at the server. In this case, the terminal keepsprocessing the media content while receiving the media content from theserver. As a result, it becomes possible to prevent unauthorizedduplication of the media content or tampering of the usage rules at theterminal.

In a thirteenth aspect based on the twelfth aspect, when the conditionsetting unit determines a new usage rule for the media content to betransmitted to the terminal, the server-side storage unit updates theusage rule stored therein with the new usage rule determined by thecondition setting unit.

According to the thirteenth aspect, the usage rule for the media contentcan be changed at an arbitrary point in time.

In a fourteenth aspect based on the twelfth aspect, when a new executionprogram is needed for using the media content at the terminal, thecondition setting unit determines a new usage rule for the media contentto be transmitted to the terminal, the server-side storage unit updatesthe usage rule stored therein with the new usage rule determined by thecondition setting unit, and the transmission unit transmits the newexecution program stored in the server-side storage unit to theterminal. The reception unit receives the new execution program from theserver, and the terminal-side storage unit updates the execution programstored therein with the new execution program received by the receptionunit.

According to the fourteenth aspect, if another execution program becomesneeded for the use of the media content at the terminal, the otherexecution program is distributed from the server to the terminal, andthe execution program stored in the terminal is updated with the otherexecution program distributed from the server.

In a fifteenth aspect based on the first aspect, the server furthercomprises a billing unit operable to perform a billing process for theterminal in accordance with the usage rule determined by the conditionsetting unit.

According to the fifteenth aspect, the server charges the terminal witha fee which is in accordance with the usage rule. As a result, the userof the terminal only needs to pay a fee according to the extent to whichthe user has actually used the media content.

In a sixteenth aspect based on the first aspect, the server-side storageunit further stores middleware for constructing an operating environmentfor the execution program stored in the terminal-side storage unit, andthe transmission unit further transmits the middleware stored in thestorage unit to the terminal. The reception unit further receives themiddleware from the server, and the terminal-side storage unit at leaststores the execution program and the middleware received by thereception unit. Under the operating environment constructed by themiddleware stored in the terminal-side storage unit, the processing unitexecutes the execution program stored in the terminal-side storage unitand processes the media content received by the reception unit.

According to the sixteenth aspect, if it is impossible to execute theexecution program at the terminal, middleware which is compatible withthe hardware and/or OS (operating system) employed at the terminal isdistributed from the server to the terminal. As a result, in spite of adiversity in hardware and/or OS, etc., it becomes possible to executethe execution program and process the media content at various types ofterminals.

In a seventeenth aspect based on the first aspect, the server-sidestorage unit stores a plurality of the execution programs providing thesame function but requiring different levels of processing ability. Thetransmission unit selects one of the plurality of execution programsstored in the server-side storage unit in accordance with a processingability of the terminal, and transmits the selected execution program tothe terminal.

According to the seventeenth aspect, an execution program which isoptimally selected in accordance with the processing ability of theterminal can be distributed from the server to the terminal.

In an eighteenth aspect based on the first aspect, the server-sidestorage unit stores a plurality of media contents directed to the samesubstance but requiring different levels of processing ability. Thetransmission unit selects one of the plurality of media contents storedin the server-side storage unit in accordance with a processing abilityof the terminal, and transmits the selected media content to theterminal.

According to the eighteenth aspect, a media content which is optimallyselected in accordance with the processing ability of the terminal canbe distributed from the server to the terminal.

In a nineteenth aspect based on the first aspect, the server-sidestorage unit stores a plurality of media contents directed to the samesubstance but differing in data amount per unit time. The transmissionunit selects one of the plurality of media contents stored in theserver-side storage unit in accordance with a state of communicationsoccurring between the server and the terminal, and transmits theselected media content to the terminal.

According to the nineteenth aspect, a media content which is optimallyselected in accordance with a state of communications can be distributedfrom the server to the terminal.

In a twentieth aspect based on the first aspect, the media contentsdistribution system comprises a plurality of the terminals, the usagerule determined by the condition setting unit contains identificationinformation of at least one of the plurality of terminals to which themedia content is available, and the control unit permits use of themedia content if the identification information of the terminal iscontained in the usage rule determined by the condition setting unit.

According to the twentieth aspect, it becomes possible to allow thedistributed media content to be used only at specific terminals.

In a twenty-first aspect based on the first aspect, the usage ruledetermined by the condition setting unit contains an allowable sectionfor use of the media content to be transmitted to the terminal, and thecontrol unit permits use of the media content received by the receptionunit only with respect to the allowable section for use contained in theusage rule determined by the condition setting unit.

According to the twenty-first aspect, it becomes possible to allow onlya specific section of the distributed media content to be used by auser.

In a twenty-second aspect based on the first aspect, the terminalfurther comprises a history storage unit operable to store a processinghistory in the processing unit, and the usage rule determined by thecondition setting unit contains an allowable number of times of use forthe media content to be transmitted to the terminal. The control unitpermits use of the media content until the allowable number of times ofuse contained in the usage rule determined by the condition setting unitis reached, by referring to the processing history stored in the historystorage unit.

According to the twenty-second aspect, it becomes possible to limit thenumber of times that the distributed media content can be used.

In a twenty-third aspect based on the first aspect, the terminal furthercomprises a history storage unit operable to store a processing historyin the processing unit, and the usage rule determined by the conditionsetting unit contains an allowable total time of use for the mediacontent to be transmitted to the terminal. The control unit permits useof the media content until the allowable total time of use contained inthe usage rule determined by the condition setting unit is reached, byreferring to the processing history stored in the history storage unit.

According to the twenty-third aspect, it becomes possible to limit theamount of time that the distributed media content can be used.

In a twenty-fourth aspect based on the first aspect, the usage ruledetermined by the condition setting unit contains an allowable period ofuse for the media content to be transmitted to the terminal, and thecontrol unit permits use of the media content if a current time fallswithin the allowable period of use contained in the usage ruledetermined by the condition setting unit.

According to the twenty-fourth aspect, it becomes possible to limit theperiod of time that the distributed media content can be used.

In a twenty-fifth aspect based on the first aspect, the server-sidestorage unit stores the media content in an encrypted state, and thetransmission unit transmits the media content stored in the server-sidestorage unit to the terminal in the encrypted state. The reception unitreceives the media content from the server in the encrypted state, andthe processing unit decrypts and processes the media content received bythe reception unit.

According to the twenty-fifth aspect, the media content is encrypted,and the terminal decrypts the media content within the bounds of theusage rule. As a result, the use of the media content by a user can belimited more effectively.

In a twenty-sixth aspect based on the second aspect, the processing unitplays back the media content received by the reception unit.

According to the twenty-sixth aspect, a user is allowed to play back themedia content within the bounds of the usage rule.

In a twenty-seventh aspect based on the second aspect, the processingunit duplicates the media content received by the reception unit.

According to the twenty-seventh aspect, a user is allowed to duplicatethe media content within the bounds of the usage rule.

In a twenty-eighth aspect based on the second aspect, the processingunit edits the media content received by the reception unit.

According to the twenty-eighth aspect, a user is allowed to edit themedia content within the bounds of the usage rule.

A twenty-ninth is directed to a terminal for receiving a media contentdistributed from a server via a communication network. The terminalcomprises: a reception unit operable to receive a media content and anexecution program from the server; a storage unit operable to at leaststore the execution program received by the reception unit; a controlunit operable to permit use of the media content within the bounds of ausage rule determined by the server; and a processing unit operable to,as permitted by the control unit, execute the execution program storedin the storage unit, and process the media content received by thereception unit.

According to the twenty-ninth aspect, a terminal for use in the mediacontents distribution system according to the first aspect can beprovided.

A thirtieth is directed to a media content distribution method fordistributing a media content from a server to a terminal via acommunication network. The method comprises: a step, performed by theserver, of storing a media content and an execution program forprocessing the media content; a step, performed by the server, oftransmitting the stored media content and execution program to theterminal; and a step, performed by the server, of determining a usagerule for the media content to be transmitted to the terminal. Further,the method comprises: a step, performed by the terminal, of receivingthe media content and the execution program from the server; a step,performed by the terminal, of at least storing the received executionprogram; a step, performed by the terminal, of permitting use of themedia content within the bounds of the usage rule determined by server;and a step, performed by the terminal, of executing the stored executionprogram and processing the received media content, as permitted by thestep of permitting use of the media content.

According to the thirtieth aspect, the server determines a usage rulefor the media content to be transmitted to the terminal, and theterminal executes the distributed execution program within the bounds ofthe usage rule determined at the server, thereby processing thedistributed media content. In other words, the terminal processes themedia content within the bounds of the usage rule determined by theserver. As a result, the use of the media content by a user can beeffectively limited.

A thirty-first is directed to an encapsulated data distributed from aserver to a terminal via a communication network. The encapsulated datacomprises: a media content; an execution program for processing themedia content; and a usage rule, determined by the server with respectto the media content, for the terminal to execute the execution programand process the media content.

According to the thirty-first aspect, data to be transmitted from theserver to the terminal in the media contents distribution systemaccording to the third aspect can be provided.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating the structure of a media contentsdistribution system according to first to seventh embodiments of thepresent invention;

FIG. 2 is a block diagram illustrating the detailed structure of aserver shown in FIG. 1;

FIG. 3 is a block diagram illustrating the detailed structure of aterminal shown in FIG. 1;

FIG. 4 is a diagram illustrating the details of a storage unit in themedia contents distribution system according to the first, third andseventh embodiments of the present invention;

FIG. 5 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted in a media contents distribution system accordingto the first embodiment of the present invention;

FIG. 6 shows an example of a usage rule which is employed in the mediacontents distribution system shown in FIG. 1;

FIG. 7 shows an example of a processing history employed in the mediacontents distribution system shown in FIG. 1;

FIG. 8 is a main flowchart illustrating the operation of the mediacontents distribution system according to the first embodiment of thepresent invention;

FIG. 9 is a flowchart illustrating the details of step S2 in FIG. 8;

FIG. 10 is a flowchart illustrating the details of step S4 in FIG. 8;

FIG. 11 is a flowchart illustrating the details of step S6 in FIG. 8;

FIG. 12 is a flowchart illustrating the details of step S9 in FIG. 8;

FIG. 13 is a diagram illustrating the details of a storage unit in themedia contents distribution system according to the second and fourthembodiments of the present invention;

FIG. 14 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted in a media contents distribution system accordingto the second embodiment of the present invention;

FIG. 15 is a main flowchart illustrating the operation of a mediacontents distribution system according to the second embodiment of thepresent invention;

FIG. 16 is a flowchart illustrating the details of step S22 in FIG. 15;

FIG. 17 is a flowchart illustrating the details of step S24 in FIG. 15;

FIG. 18 is a flowchart illustrating the details of step S26 in FIG. 15;

FIG. 19 is a flowchart illustrating the details of step S29 in FIG. 15;

FIG. 20 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted in a media contents distribution system accordingto the third embodiment of the present invention;

FIG. 21 is a main flowchart illustrating the operation of the mediacontents distribution system according to the third embodiment of thepresent invention;

FIG. 22 is a flowchart illustrating the details of step S42 in FIG. 21;

FIG. 23 is a flowchart illustrating the details of step S49 in FIG. 21;

FIG. 24 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted in a media contents distribution system accordingto the fourth embodiment of the present invention;

FIG. 25 is a main flowchart illustrating the operation of the mediacontents distribution system according to the fourth embodiment of thepresent invention;

FIG. 26 is a flowchart illustrating the details of step S62 in FIG. 25;

FIG. 27 is a flowchart illustrating the details of step S69 in FIG. 25;

FIG. 28 is a diagram illustrating the details of a storage unit in themedia contents distribution system according to the fifth embodiment ofthe present invention;

FIG. 29 is a flowchart illustrating the details of a billing processperformed by the media contents distribution system according to thefifth embodiment of the present invention;

FIG. 30 is a diagram illustrating the details of a storage unit in themedia contents distribution system according to the sixth embodiment ofthe present invention;

FIG. 31 is a flowchart illustrating the details of step S2 performed bythe media contents distribution system according to the sixth embodimentof the present invention;

FIG. 32 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted in a media contents distribution system accordingto the sixth embodiment of the present invention;

FIG. 33 is a flowchart illustrating the details of step S6 performed bythe media contents distribution system according to the sixth embodimentof the present invention;

FIG. 34 illustrates a table of execution programs employed in the mediacontents distribution system according to the seventh embodiment of thepresent invention; and

FIG. 35 illustrates a table of media contents employed in the mediacontents distribution system according to the seventh embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First Embodiment

FIG. 1 is a block diagram illustrating the structure of a media contentsdistribution system according to a first embodiment of the presentinvention. The media contents distribution system shown in FIG. 1comprises a server 1 and a plurality of terminals 2. The server 1 andeach terminal 2 are connected to each other via a network 3 so as to becapable of communicating with each other. The server 1 stores mediacontents and execution programs for processing the media contents. Theserver 1 distributes a media content and an execution program to eachterminal 2 via the network 3. Each terminal 2 executes the distributedexecution program to process the distributed media content.

The use of the media content by the user of the terminal 2 has certainlimitations. In order to realize such limited usage, a usage rule is setfor each media content distributed from the server 1, such that theterminal 2 is allowed to process the media content within the bounds ofthe usage rule. More preferably, the media content is encrypted inadvance, and each terminal 2 decrypts the encrypted media content andprocesses the decrypted media content within the bounds of the usagerule. A key for decrypting the media content may be, for example,previously notified by an administrator of the server 1 to the user ofeach terminal 2, and stored in the terminal 2. Alternatively, a key maybe provided from the server 1 to each terminal 2 at the same time thatan execution program is provided (e.g., as embedded in the executionprogram).

A media content which is distributed from the server 1 may be video dataand audio data, e.g., a movie, a sport program, or a music concertprogram, or audio data, e.g., a music album. One media contentcorresponds to a single movie or music album, for example. As usedherein, the “use” of a media content refers to the playback,duplication, or editing of a media content, for example. Examples ofexecution programs for processing a media content include a mediacontent playback program, a media content duplication program, and amedia content editing program. Note that the media content is notlimited to video data and audio data, but may also be a program, e.g.,game software or application software.

A usage rule which is set for a media content includes, for example, anidentifier representing a user who is allowed to use that media content,and an allowable number of times of use for that media content (e.g.,the media content may be allowed to be used up to three times). Insteadof an allowable number of times of use, the usage rule may include anallowable total time of use (e.g., the media content may be allowed tobe used up to five hours), or an allowable period of use (e.g., themedia content may be allowed to be used from Oct. 10, 2001 until Oct.16, 2001). Alternatively, the usage rule may include any two or all ofan allowable number of times of use, an allowable total time of use, andan allowable period of use. Moreover, the usage rule may be set for aportion of the media content, rather than the entire media content. Inthis case, the usage rule will further include an allowable section foruse (e.g., only the first thirty minutes of the media content may beallowed to be used). Capsulated data (hereinafter referred to as a“capsule”) containing a media content, an execution program, and a usagerule is distributed from the server 1 to each terminal 2. The details ofthe capsule will be described later with reference to FIG. 5.

FIG. 2 is a block diagram illustrating the detailed structure of theserver 1. As shown in FIG. 2, the server 1 includes a control unit 11, astorage unit 12, and a communication unit 13. The control unit 11 mayinclude, for example, a CPU, a RAM, and a ROM. A server-controllingprogram is stored in the ROM. The functions of the server 1 (describedlater) are realized by the CPU executing the server-controlling program,with the RAM being employed as a memory area. The storage unit 12 may becomposed of, for example, a recording medium such as a hard disk, and adrive device therefor. The communication unit 13 is composed of anetwork connecting device, e.g., a modem or a terminal adapter.

FIG. 3 is a block diagram illustrating the detailed structure of theterminal 2. As shown in FIG. 3, the terminal 2 includes an input/outputunit 21, a control unit 22, a communication unit 23, a memory unit 24,and a processing unit 25. The input/output unit 21 may be composed of,for example, an input device, e.g., a keyboard and/or a touch panel, andan output device, e.g., a display and/or loudspeakers. The control unit22 may include, for example, a CPU, a RAM, and a ROM. Aterminal-controlling program is stored in the ROM. The functions of theterminal 2 (described later) are realized by the CPU executing theterminal-controlling program, with the RAM being employed as a memoryarea. The communication unit 23 may be composed of, for example, anetwork connecting device such as a modem or a terminal adapter. Thememory unit 24 may be composed of, for example, a recording medium suchas a semiconductor memory. The processing unit 25 may be composed ofcircuits for processing video data and/or audio data, e.g., a graphicsboard and/or a sound board.

FIG. 4 is a diagram illustrating the details of the storage unit 12.FIG. 4 shows a storage unit 12 a, which is a more detailedrepresentation of the storage unit 12 shown in FIG. 1. The storage unit12 a internalizes a media content database 101 and an execution programdatabase 102. The media content database 101 stores a plurality of mediacontents and identifiers (“content IDs”) for the respective mediacontents. In the example illustrated in FIG. 4, three media contents arestored: “Contents1.mpg”, “Contents2.mpg”, and “Contents3.mp4”.Identifiers “Co0001”, “Co0002”, and “Co0003” are respectively assignedto these three media contents.

The execution program database 102 stores a plurality of executionprograms and functional information for the respective executionprograms. In the example illustrated in FIG. 4, three execution programsare stored: “Program 1”, “Program 2”, and “Program 3”. Program 1 has amedia content playback function, but lacks a media content duplicationfunction and a media content editing function. Program 2 has a mediacontent duplication function, but lacks a media content playbackfunction and a media content editing function. Program 3 has a mediacontent playback function and a media content duplication function, butlacks a media content editing function. It will be appreciated that,other than the execution programs illustrated in FIG. 4, an executionprogram having a media content editing function but lacking a mediacontent playback function and a media content duplication function,and/or an execution program having a media content playback function, amedia content duplication function, and a media content editing functionmay be stored, for example.

FIG. 5 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted from the server 1 to each terminal 2. As shown inFIG. 5, a capsule 111 includes a header portion 112 and a data portion113. The header portion 112 stores a destination address 114 of thecapsule 111. The data portion 113 stores a usage rule 115, a mediacontent 116, and an execution program 117.

FIG. 6 shows an example of a usage rule. The usage rule shown in FIG. 6is described using XML (Extensible Markup Language). The elementsincluded in this usage rule have the following meanings. A Usage Ruleelement is a root element representing a usage rule of a media content.A usage rule is described in a portion interposed between a start tag<Usage Rule> and an end tag </UsageRule>. The content of each element issimilarly described between a corresponding start tag <X> and acorresponding end tag </X> (where X is an arbitrary character string). AContents ID element represents an identifier of the media content towhich this usage rule applies. A User ID element represents anidentifier of a user to whom this usage rule applies. A User Program IDelement represents an identifier of an execution program to which thisusage rule applies. However, the identifier described in a User ProgramID element not only specifies an execution program but also specifies auser to which the execution program is distributed. Therefore, in thecase where an execution program is distributed to a plurality ofterminals, the instances of the execution program distributed to therespective terminals are given respectively different identifiers, sothat they are regarded as different programs.

A Permission element describes a process which is permitted andconditions for performing that process. The Permission element has anattribute “action”, which represents the process to be permitted. Thecontent of a Permission element (i.e., the portion interposed between astart tag <Permission> and an end tag </Permission>) describes theconditions for performing the process. In the example illustrated inFIG. 6, the attribute “action” is Replay (playback), and the content ofthe Permission element describes conditions for performing a playbackprocess as follows. A Section element represents a section in the mediacontent that is permitted for processing, as defined by a From elementindicating the beginning of the section and an Until element indicatingthe end of the section. If the Section element is absent, it is assumedthat the entire media content is permitted for processing. On the otherhand, a plurality of sections of a media content may be permitted forprocessing, in which case a plurality of Section elements will bepresent. A Times element represents a maximum number of times theprocessing for the media content is permitted. A Period elementrepresents a period during which the processing for the media content ispermitted, as defined by a From element indicating the beginning of theperiod and an Until element indicating the end of the period. ThePermission element illustrated in FIG. 6 represents that the sectionspanning the first thirty minutes is permitted for playback up to threetimes at the maximum, during a period from Oct. 10, 2001 until Oct. 16,2001.

The usage rule is distributed in an encrypted form in order to preventtampering. A key for decrypting the usage rule may be, for example,previously notified from the administrator of the server 1 to the userof each terminal 2, and stored in the terminal 2. Alternatively, insteadof previously notifying the key, the key may be provided simultaneouslywith the execution program (e.g., as embedded in the execution program).It will be appreciated that the usage rule shown in FIG. 6 is only oneexample. The descriptions may be rendered in methods other than XML, andother conditions may also be added.

Each terminal 2 stores a processing history for each media content, anddetermines the availability of the media content by using the processinghistory. The processing history for the media content is stored in thememory unit 24. The control unit 22 updates the processing historystored in the memory unit 24 each time a process is performed for therelevant media content.

FIG. 7 shows an example of the processing history. The processinghistory illustrated in FIG. 7 is described using XML, as is the casewith the usage rule illustrated in FIG. 6. The elements included in thisprocessing history have the following meanings. A History element is aroot element which represents a processing history for a media content.A Contents ID element represents an identifier of the media contentwhich has been processed by a process described in this processinghistory. A User Program ID element represents an identifier of anexecution program which has performed a process described in thisprocessing history. An Access Log element describes a history ofapplying the process described in an attribute “action”, as indicated bya Times element (which represents a number of times of processing) andan Access Date element (which represents a date of processing). TheAccess Log element illustrated in FIG. 7 represents that a playback hasbeen performed once at 20:30, Oct. 11, 2001, Japan standard time.

The processing history is stored in an encrypted form in order toprevent tampering. Keys for encrypting and decrypting the processinghistory are embedded in an execution program. For example, if the usagerule illustrated in FIG. 6 and the processing history illustrated inFIG. 7 are stored in the memory unit 24 as of Oct. 12, 2001, the controlunit 22 first confirms that today falls within the period from Oct. 10,2001 until Oct. 16, 2001 and that the number of times of playback isone, which is less than the allowable number of times of use (i.e.,three in this example), and then permits the section spanning the firstthirty minutes of the media content to be played back.

FIG. 8 is a main flowchart illustrating the operation of the mediacontents distribution system according to the present embodiment. In anyof the following flowcharts, any step whose caption begins with a label“S:” is a process to be performed by the server 1, and any step whosecaption begins with a label “T:” is a process to be performed by aterminal 2. In FIG. 8, the control unit 22 first determines whether ornot a request to acquire a capsule has been inputted to the input/outputunit 21 (step S1), and proceeds to step S3 if the result of thedetermination is “NO”. If the result of the determination at step S1 is“YES”, a first capsule distribution process (FIG. 9) is performed,through which a requested capsule is distributed from the server 1 tothe terminal 2 (step S2).

At step S3, the control unit 22 determines whether or not a request tochange the usage rule has been inputted to the input/output unit 21, andproceeds to step S5 if the result of the determination is “NO”. If theresult of the determination at step S3 is “YES”, a usage ruledistribution process (FIG. 10) is performed, through which a new usagerule is distributed from the server 1 to the terminal 2 (step S4).

At step S5, the control unit 22 determines whether or not any request tochange the usage rule that requires an update of the execution programhas been inputted to the input/output unit 21, and proceeds to step S7if the result of the determination is “NO”. If the result of thedetermination at step S5 is “YES”, a distribution process of a usagerule and another execution program (FIG. 11) is performed, through whicha new usage rule and another execution program are distributed from theserver 1 to the terminal 2 (step S6).

At step S7, the control unit 22 determines whether or not an instructionto start processing has been given via the input/output unit 21, andproceeds to step S10 if the result of the determination is “NO”. If theresult of the determination at step S7 is “YES”, the control unit 22activates the execution program stored in the memory unit 24 (step S8),and executes a first media content process (FIG. 12) in accordance withthe activated execution program (step S9).

At step S10, the control unit 22 determines whether or not to continueprocessing, and if the result of the determination is “YES”, returns tostep S1. In this case, the process from steps S1 to S9 is againperformed. If the result of the determination of step S10 is “NO”, thecontrol unit 22 stops processing.

FIG. 9 is a flowchart illustrating the details of step S2. If step S1 ofFIG. 8 determines that a request has been inputted, the control unit 22accepts the inputted request (step S101). At step S101, a request toplay back the section spanning the first thirty minutes of a mediacontent “Contents1.mpg” three times may be inputted, for example. Next,by means of the communication unit 23, the control unit 22 transmits therequest accepted at step S101 to the server 1 via the network 3 (stepS102).

By means of the communication unit 13, the control unit 11 of the server1 receives the request which has been transmitted from the terminal 2(step S103). Next, the control unit 11 reads a media content and anexecution program from the media content database 101 and the executionprogram database 102, respectively, that correspond to the receivedrequest (step S104), and generates a usage rule for the media content(step S105). At step S105, a usage rule illustrated in FIG. 6 may begenerated, for example. Then, the control unit 11 encapsulates the mediacontent and the execution program read at step S104 and the usage rulegenerated at step S105 into a capsule 111 as shown in FIG. 5, andtransmits the capsule 111 to the terminal 2 by means of thecommunication unit 13 (step S106).

The control unit 22 of the terminal 2 receives the capsule 111 which hasbeen transmitted from the server 1 by means of the communication unit 23(step S107). Then, the control unit 22 extracts the usage rule 115, themedia content 116, and the execution program 117 from the receivedcapsule 111, and stores them in the memory unit 24 (step S108). Afterthe first capsule distribution process is thus completed, step S3 ofFIG. 8 is performed.

FIG. 10 is a flowchart illustrating the details of step S4. If step S3of FIG. 8 determines that a request has been inputted, the control unit22 accepts the inputted request (step S121). At step S121, a request tochange the usage rule “the section spanning the first thirty minutes maybe played back up to three times” for the media content “Contents1.mpg”so that this section is allowed to be played back two more times (i.e.,totaling five times) may be inputted. Next, by means of thecommunication unit 23, the control unit 22 transmits the requestaccepted at step S121 to the server 1, via the network 3 (step S122).

By means of the communication unit 13, the control unit 11 of the server1 receives the request which has been transmitted from the terminal 2(step S123). Next, the control unit 11 generates a new usage rulecorresponding to the received request (step S124). At step S124, a newusage rule stating that “the section spanning the first thirty minutesmay be played back up to five times” is generated for the media content“Contents1.mpg”, for example. Next, the control unit 11 transmits theusage rule newly generated at step S124 to the terminal 2 by means ofthe communication unit 13 (step S125).

By means of the communication unit 23, the control unit 22 of theterminal 2 receives the new usage rule which has been transmitted fromthe server 1 (step S126). Next, the control unit 22 overwrites the newusage rule received at step S126 so as to replace the usage rule storedin the memory unit 24 (step S127). After thus updating the usage rule,step S5 of FIG. 8 is performed.

FIG. 11 is a flowchart illustrating the details of step S6. If step S5of FIG. 8 determines that a request has been inputted, the control unit22 accepts the inputted request (step S141). At step S141, a request tochange the usage rule “section spanning the first thirty minutes may beplayed back up to three times” for the media content “Contents1.mpg” sothat this section is allowed to be duplicated once may be inputted, forexample. Then, by means of the communication unit 23, the control unit22 transmits the request accepted at step S141 to the server 1 via thenetwork 3 (step S142).

By means of the communication unit 13, the control unit 11 of the server1 receives the request which has been transmitted from the terminal 2(step S143). Next, the control unit 11 reads another execution program(e.g., an editing program) corresponding to the received request fromthe execution program database 102 (step S144), and generates a newusage rule (step S145). At step S145, a new usage rule stating that “thesection spanning the first thirty minutes may be duplicated only once”is generated for the media content “Contents1.mpg”, for example. Next,the control unit 11 transmits the other execution program which has beenread at step S144 and the new usage rule which has been generated atstep S145 to the terminal 2 by means of the communication unit 13 (stepS146).

By means of the communication unit 23, the control unit 22 of theterminal 2 receives the new usage rule and the other execution programtransmitted from the server 1 (step S147). Next, the control unit 22overwrites the new usage rule and the other execution program receivedat step S147 so as to replace the usage rule and the execution program,respectively, stored in the memory unit 24 (step S148). After thusupdating the usage rule and the execution program, step S7 of FIG. 8 isperformed.

FIG. 12 is a flowchart illustrating the details of step S9. Afteractivating the execution program at step S8 of FIG. 8, the control unit22 checks whether or not a processing history for the media content tobe processed is stored in the memory unit 24 (step S161). If no suchprocessing history is stored, the control unit 22 generates a processinghistory representing “unprocessed” and stores the generated processinghistory in an encrypted form to the memory unit 24 (step S162). If arelevant processing history is stored, the control unit 22 reads theprocessing history from the memory unit 24 and decrypts the processinghistory (step S163).

Next, the control unit 22 reads the usage rule from the memory unit 24and decrypts the usage rule (step S164). Then, the control unit 22compares the processing history which has been read at step S163 (orgenerated at step S162) against the usage rule which has been read atstep S164 (step S165), and determines whether or not the use of themedia content is permitted (step S166).

If the use of the media content is permitted, the control unit 22instructs the processing unit 25 to read the designated section of themedia content from the memory unit 24 and decrypt the media contentwhich has been read, in accordance with the usage rule (step S167).Next, the control unit 22 instructs the processing unit 25 to processthe decrypted media content (step S168). At steps S167 and S168, thesection spanning the first thirty minutes of the media content is readfrom the memory unit 24 and decrypted, and thereafter played back, forexample. Then, the control unit 22 generates a new processing historyand encrypts the new processing history, and overwrites the newprocessing history so as to replace the processing history stored in thememory unit 24 (step S169).

If step S166 finds that the use of the media content is not permitted,the control unit 22 notifies this to the user via the input/output unit21 (step S170). After the first media content process is thus completed,step S10 of FIG. 8 is performed.

In accordance with the above-described configuration, in order todetermine the availability of a media content, the terminal 2 stores aprocessing history, and compares the stored processing history against ausage rule. Alternatively, the description of the usage rule may beupdated instead of storing a processing history. For example, if theusage rule states that a media content “may be played back up to threetimes” in accordance with the above-described configuration, theterminal 2 will retain a received usage rule as it is, and a number ofaccesses having been made which is described as part of the processinghistory will be updated from 0 times→one time→two times every time aplayback is performed, until playback becomes prohibited as the numberof accesses having been made reaches three. Alternatively, the terminal2 may update the allowable number of times of use which is described aspart of the usage rule from three times→two times→one time, untilplayback becomes prohibited as the allowable number of times of usereaches zero.

In accordance with the above-described configuration, the server 1encapsulates a usage rule, a media content, and an execution programinto one capsule, which is distributed to a terminal 2. Alternatively,these three data may be separately distributed. Alternatively, any twoof these three data may be encapsulated into a capsule to bedistributed, and the other data may be separately distributed.Alternatively, the server 1 may distribute a usage rule in a form thatis embedded within a media content or an execution program.

In the case where a usage rule is provided to a terminal 2 through aroute which is external to the system, the server 1 only needs todistribute a media content and an execution program. In the case where ausage rule and a media content are provided to the terminal 2 through aroute which is external to the system, the server 1 only needs todistribute an execution program. Methods for providing a usage ruleand/or a media content to a terminal 2 through a route which is externalto the system may include, for example, providing these data as storedin a removable recording medium such as a CD-ROM, or a DVD, or providingthese data from an external server (not shown) which is connected to thenetwork 3.

In accordance with the above-described configuration, an executionprogram is overwritten upon request from a user. Alternatively, theexecution program may be overwritten at any other time (e.g., when theexecution program is upgraded in version).

As described above, in the media contents distribution system accordingto the present embodiment, the server 1 stores media contents andexecution programs, and the server 1 distributes a media content and anexecution program to a terminal 2. The terminal 2 executes thedistributed execution program to process the distributed media content.A usage rule is set for the media content which is distributed from theserver 1, and the terminal 2 processes the distributed media contentwithin the bounds of this usage rule. As a result, it is possible toapply certain limitations to the use of the distributed media content.For example, only a number of terminals may be allowed to use the mediacontent; the media content may only be allowed to be played back, whileprohibiting duplication or editing thereof; the media content may belimited in terms of its allowable number of times of use, allowabletotal time of use, and/or allowable period of use; and/or only a sectionof the media content may be made available. Thus, it is possible tolimit the use of media contents in various manners.

Moreover, in the media contents distribution system according to thepresent embodiment, after a capsule containing a media content, anexecution program, and a usage rule is distributed, a new usage rule maybe further distributed as necessary, thereby changing the usage rulestored in the terminal 2 at an arbitrary point in time. For example, ifa capsule containing a media content, a media content playback program,and a usage rule stating that “the media content may be played back upto three times” is received, the terminal 2 can no longer process themedia content after it has been played back three times. In this case,the user of the terminal 2 may request to “play back the media contenttwo more times”, in which case the terminal 2 transmits the user'srequest to the server 1. In response to this request, the server 1 maydistribute a new usage rule stating that “the media content may beplayed back up to five times” to the terminal 2. Upon receiving this newusage rule, the terminal 2 overwrites the new usage rule stating that“the media content may be played back up to five times” to replace theusage rule stating that “the media content may be played back up tothree times”, which has been stored in the memory unit 24. Since theprocessing history stored in the memory unit 24 indicates that the mediacontent “has been played back three times”, the terminal 2 is nowallowed to play back the media content two more times.

Moreover, in the media contents distribution system according to thepresent embodiment, after a capsule containing a media content, anexecution program, and a usage rule is distributed, another executionprogram and a new usage rule may be further distributed as necessary,thereby being able to overwrite the other execution program and the newusage rule so as to replace the execution program and the usage rule,respectively, which are stored in the terminal 2. For example, considera case where, in the above-illustrated example, the media content hasbeen played back three times and thereafter the user requests to“duplicate the media content”. In this case, the terminal 2 transmitsthe user's request to the server 1, in response to which the server 1may distribute a media content duplication program and a new usage rulestating that “the media content may be duplicated once” to the terminal2. Upon receiving the media content duplication program and the newusage rule, the terminal 2 overwrites the media content duplicationprogram so as to replace the media content playback program stored inthe memory unit 24, and overwrites the new usage rule stating that “themedia content may be duplicated once” so as to replace the usage rulestating that “the media content may be played back up to three times”.Since the processing history stored in the memory unit 24 indicates thatthe media content “has been played back three times” (that is, nohistory concerning duplication exists so far), the terminal 2 is nowallowed to duplicate the media content once. Once a duplication isperformed, the processing history is rewritten so as to state that themedia content “has been played back three times and duplicated once”,after which duplication of the media content will be prohibited.

According to the first embodiment, media contents, execution programs,and usage rules are distributed from the server 1 to the terminals 2,and thereafter are kept under management at the terminals 2. In order toprevent unauthorized duplication of the media contents or tampering ofthe usage rules at the terminals 2, the media contents and the usagerules are distributed in an encrypted form. In view of the possibilitythat decryption keys or the like to the media contents and the usagerules may be somehow leaked, it is also possible to keep the mediacontents and/or usage rules under management at the server 1, asillustrated in second to fourth embodiments below.

The second embodiment adopts a method in which a media content and anexecution program are distributed to a terminal 2, whereas a usage ruleis kept under management at the server 1. The third embodiment adopts amethod in which an execution program and a usage rule are distributed toa terminal 2, whereas a media content is kept under management at theserver 1. The fourth embodiment adopts a method in which an executionprogram is distributed to a terminal 2, whereas a media content and ausage rule are kept under management at the server 1. Thus, by keeping ausage rule and/or a media content under management at the server 1, itbecomes possible to prevent unauthorized duplication of the mediacontents or tampering of the usage rules at the terminals 2.

Second Embodiment

According to the second embodiment of the present invention, a mediacontent and an execution program are distributed to a terminal, whereasa usage rule is kept under management at the server. Thus, the secondembodiment differs from the first embodiment, which provides that amedia content, an execution program, and a usage rule are distributed toa terminal. Hereinafter, the differences between the first embodimentand the second embodiment will be described in detail.

As in the case of the first embodiment, the media contents distributionsystem according to the present embodiment has a configuration asillustrated in FIGS. 1 to 3. FIG. 13 is a diagram illustrating thedetails of the storage unit 12 according to the present embodiment. FIG.13 shows a storage unit 12 b, which is a more detailed representation ofthe storage unit 12 shown in FIG. 1. The storage unit 12 b internalizesa media content database 101, an execution program database 102, and ausage rule/processing history database 103. Since the details of themedia content database 101 and the execution program database 102 aresimilar to those in the first embodiment (see FIG. 4), the descriptionsthereof are omitted from FIG. 13.

The usage rule/processing history database 103 stores User Program IDelements, UsageRule elements, and History elements with respect toexecution programs which have previously been distributed to theterminals 2. Each User Program ID element represents an identifier of anexecution program. However, as in the case of the first embodiment, theidentifier described in a User Program ID element not only specifies anexecution program but also specifies a user to which the executionprogram has been distributed. Each UsageRule element and each Historyelement are identical to those stored in the memory unit 24 according tothe first embodiment. For example, each UsageRule element and eachHistory element may have data structures shown in FIG. 6 and FIG. 7,respectively.

FIG. 14 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted from the server 1 to each terminal 2. As shown inFIG. 14, a capsule 211 includes a header portion 212 and a data portion213. The header portion 212 stores a destination address 214 of thecapsule 211. The data portion 213 stores a media content 216 and anexecution program 217.

In the above-described first embodiment, a usage rule is distributed tothe terminal 2 so as to be stored in its memory unit 24, and aprocessing history for a media content is generated by a terminal 2 andstored in its memory unit 24. In contrast, according to the presentembodiment, a usage rule is stored in the storage unit 12, rather thanbeing distributed to a terminal 2. A processing history for a mediacontent is generated by the server 1, and stored in the storage unit 12.Therefore, when the terminal 2 has processed a media content, theterminal 2 notifies the details of the processing to the server 1, and,based on the notification from the terminal 2, the server 1 rewrites theprocessing history stored in the storage unit 12.

FIG. 15 is a main flowchart illustrating the operation of the mediacontents distribution system according to the present embodiment. Theflowchart shown in FIG. 15 is identical to the flowchart shown in FIG. 8except for steps S22, S24, S26, and S29. Hereinafter, the details ofsteps S22, S24, S26, and S29 will be described.

FIG. 16 is a flowchart illustrating the details of step S22. When arequest is inputted at step S21 of FIG. 15, steps S201 to S205 areperformed. Steps S201 to S205 are identical to steps S101 to S105 ofFIG. 9, except that usage rules are not encrypted because the usagerules will never be tampered with at the terminals 2 according to thepresent embodiment.

Next, the control unit 11 encapsulates a media content and an executionprogram which have been read at step S204 into a capsule 211 as shown inFIG. 14, and transmits the capsule 112 to a terminal 2 by means of thecommunication unit 13. Moreover, the control unit 11 stores a usage rulegenerated at step S205 in the usage rule/processing history database 103(step S206).

By means of the communication unit 23, the control unit 22 of theterminal 2 receives the capsule 211 transmitted from the server 1 (stepS207). Then, the control unit 22 extracts the media content 216 and theexecution program 217 from the received capsule 211, and stores them inthe memory unit 24 (step S208). After the second capsule distributionprocess is thus completed, step S23 of FIG. 15 is performed.

FIG. 17 is a flowchart illustrating the details of step S24. If arequest is inputted at step S23 of FIG. 15, steps S221 to S224 areperformed. Steps S221 to S224 are identical to steps S121 to S124 ofFIG. 10, except that usage rules are not encrypted because the usagerules will never be tampered at the terminals 2 according to the presentembodiment.

Next, the control unit 11 overwrites a new usage rule generated at stepS224 so as to replace the usage rule stored in the usage rule/processinghistory database 103 (step S225). After thus completing the usage ruleoverwriting process, step S25 of FIG. 15 is performed.

FIG. 18 is a flowchart illustrating the details of step S26. If arequest is inputted at step S25 of FIG. 15, steps S241 to S245 areperformed. Steps S241 to S245 are identical to steps S141 to S145 ofFIG. 11, except that usage rules are not encrypted because the usagerules will never be tampered with at the terminals 2 according to thepresent embodiment.

Next, the control unit 11 transmits another execution program which hasbeen read at step S244 to the terminal 2 by means of the communicationunit 13, and overwrites the new usage rule generated at step S245 so asto replace the usage rule stored in the storage unit 12 (step S246).

By means of the communication unit 23, the control unit 22 of theterminal 2 receives the other execution program which has beentransmitted from the server 1 (step S247). Next, the control unit 22overwrites the other execution program received at step S247 so as toreplace the execution program stored in the memory unit 24 (step S248).After thus completing an update of the usage rule at the server 1 and anupdate of the execution program at the terminal 2, step S27 of FIG. 15is performed.

FIG. 19 is a flowchart illustrating the details of step S29. After anexecution program is activated at step S28 of FIG. 15, the control unit22 of the terminal 2 checks whether or not a processing history for themedia content to be processed is stored in the usage rule/processinghistory database 103 (step S261). At step S261, an inquiry istransmitted from the control unit 22 of the terminal 2 to the controlunit 11 of the server 1, and a reply is transmitted from the controlunit 11 of the server 1 to the control unit 22 of the terminal 2. If nosuch processing history is stored in the server 1, the control unit 22generates a processing history representing “unprocessed”, and ensuresthat the generated processing history is stored in the usagerule/processing history database 103 (step S262). At step S262, thecontrol unit 22 of the terminal 2 transmits the processing historyrepresenting “unprocessed” to the control unit 11 of the server 1. If arelevant processing history is stored in the server 1, the control unit22 acquires that processing history from the usage rule/processinghistory database 103 via the network 3 (step S263).

Next, the control unit 22 of the terminal 2 acquires the usage rule fromthe usage rule/processing history database 103 via the network 3 (stepS264). Then, the control unit 22 compares the processing historyacquired at step S263 (or generated at step S262) against the usage ruleacquired at step S264 (step S265), and determines whether or not the useof the media content is permitted (step S266).

If the use of the media content is permitted, steps S267 and S268 areperformed. Steps S267 and S268 are identical to steps S167 and S168 ofFIG. 12. Next, the control unit 22 of the terminal 2 notifies thedetails of the processing at step S268 to the control unit 11 of theserver 1 (step S269).

Upon receiving the notification of the details of the processing, thecontrol unit 11 of the server 1 generates a new processing history, andoverwrites the new processing history so as to replace the processinghistory stored in the usage rule/processing history database 103 (stepS270).

If step S266 finds that the use of the media content is not permitted,the control unit 22 notifies this to the user via the input/output unit21 (step S271). After the second media content process is thuscompleted, step S30 of FIG. 15 is performed.

As in the first embodiment, it is also applicable in the presentembodiment to update the usage rule without storing the processinghistory in order to determine the availability of a media content, orseparately transmit a media content and an execution program. Inaccordance with the above-described configuration, a usage rule isobtained from the server 1 before the terminal 2 processes a mediacontent, and the availability of the media content is determined basedon the acquired usage rule. Alternatively, the server 1 may determinethe availability of the media content based on the usage rule stored inthe server 1, and notify the result of the determination to the terminal2. In the case where such a configuration is adopted, an availabilitydetermination program may be added to the ROM included in the controlunit 11, and the availability determination function (e.g., availabilitydetermination subroutine) may be omitted from the execution programwhich is distributed to the terminal 2. In accordance with theabove-described configuration, the server 1 generates and stores a usagerule. Alternatively, a separate server may generate a usage rule to bestored in the server 1.

As described above, in the media contents distribution system accordingto the present embodiment, a media content and an execution program aredistributed to a terminal, whereas a usage rule is kept under managementat the server. As a result, in addition to the effects attainedaccording to the first embodiment, it becomes possible to preventtampering of usage rules at the terminals.

Third Embodiment

According to the third embodiment, an execution program and a usage ruleare distributed to a terminal, whereas a media content is kept undermanagement at the server. Thus, the third embodiment differs from thefirst embodiment, which provides that a media content, an executionprogram, and a usage rule are distributed to a terminal. Hereinafter,the differences between the first embodiment and the third embodimentwill be described in detail.

As in the case of the first embodiment, the media contents distributionsystem according to the present embodiment has a configuration asillustrated in FIGS. 1 to 3. The structure of the storage unit 12 isidentical to that of the storage unit 12 in the first embodiment (seeFIG. 4). However, in the present embodiment, a media content is storedin the media content database 101 without being encrypted.

FIG. 20 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted from the server 1 to the terminal 2. As shown inFIG. 20, a capsule 311 includes a header portion 312 and a data portion313. The header portion 312 stores a destination address 314 of thecapsule 311. The data portion 313 stores a usage rule 315 and anexecution program 317.

In the present embodiment, the usage rule and the processing history aretreated in the same manner as in the first embodiment. Although thefirst embodiment works in such a manner that a media content isdistributed to the terminal 2 and stored in its memory unit 24, thepresent embodiment is characterized in that media contents remain storedin the storage unit 12 of the server 1, without being distributed to theterminals 2. Only when a terminal 2 activates an execution program inorder to process a media content is the media content actually read fromthe storage unit 12 to be transferred to the processing unit 25 of theterminal 2. The processing unit 25 keeps receiving the media contentfrom the server 1 via the network 3 as the received media content isprocessed by the processing unit 25. Such a process is generallyreferred to as “streaming”.

FIG. 21 is a main flowchart illustrating the operation of the mediacontents distribution system according to the present embodiment. Theflowchart of FIG. 21 is identical to the flowchart of FIG. 8 except forsteps S42 and S49. Hereinafter, the details of steps S42 and S49 will bedescribed.

FIG. 22 is a flowchart illustrating the details of step S42. Theflowchart of FIG. 22 is identical to the flowchart of FIG. 9 except forthe following three steps. Firstly, at step S304, the control unit 11reads an execution program corresponding to a received request from theexecution program database 102, without reading a media content.Secondly, at step S306, the control unit 11 encapsulates the executionprogram read at step S304 and a usage rule generated at step S305 into acapsule 311 as shown in FIG. 20, and transmits the capsule 311 to theterminal 2 by means of the communication unit 13, without encapsulatingthe media content in the capsule 311 for transmission. Thirdly, at stepS308, the control unit 22 extracts the usage rule 315 and the executionprogram 317 from the received capsule 311, and stores them to the memoryunit 24. Herein, it will be appreciated that the control unit 22 doesnot extract a media content from the capsule 311. After a third capsuledistribution process is thus completed, step S43 of FIG. 21 isperformed.

FIG. 23 is a flowchart illustrating the details of step S49. Theflowchart of FIG. 23 is identical to the flowchart of FIG. 12 except forstep S367. At step S367, the control unit 22 instructs the processingunit 25 to process a designated section of the media content to beprocessed while receiving the media content from the media contentdatabase 101 via the network 3, in accordance with the usage rule. As aresult, for example, the section spanning the first thirty minutes ofthe media content may be read from the server 1 and played back. After athird media content process is thus completed, step S50 of FIG. 21 isperformed.

As in the first embodiment, it is also applicable in the presentembodiment to update the usage rule without storing the processinghistory in order to determine the availability of a media content, orseparately transmit an execution program and a usage rule. In accordancewith the above-described configuration, media contents are stored in theserver 1 without being encrypted. Alternatively, the media contents maybe stored in an encrypted form; in this case, at step S367, the terminal2 processes the media content received from the server 1 afterdecrypting the media content.

As described above, in the media contents distribution system accordingto the present embodiment, an execution program and a usage rule aredistributed to a terminal, whereas a media content is kept undermanagement at the server. As a result, in addition to the effectsattained according to the first embodiment, it becomes possible toprevent unauthorized duplication of the media contents at the terminals.

Fourth Embodiment

According to the fourth embodiment of the present invention, anexecution program is distributed to a terminal, whereas a media contentand a usage rule are kept under management at the server. Thus, thefourth embodiment differs from the second embodiment, which providesthat a media content and an execution program are distributed to aterminal, whereas a usage rule is kept under management at the server.Hereinafter, the differences between the second embodiment and thefourth embodiment will be described in detail.

As in the case of the first and second embodiments, the media contentsdistribution system according to the present embodiment has aconfiguration as illustrated in FIGS. 1 to 3. The structure of thestorage unit 12 is identical to that of the storage unit 12 in thesecond embodiment (see FIG. 13). However, in the present embodiment, amedia content is stored in the media content database 101 without beingencrypted, as is the case with the third embodiment.

FIG. 24 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted from the server 1 to a terminal 2. As shown in FIG.24, a capsule 411 includes a header portion 412 and a data portion 413.The header portion 412 stores a destination address 414 of the capsule411. The data portion 413 stores an execution program 417.

In the present embodiment, the usage rule and the processing history aretreated in the same manner as in the second embodiment. In the presentembodiment, the media content is treated in the same manner as in thethird embodiment.

FIG. 25 is a main flowchart illustrating the operation of the mediacontents distribution system according to the present embodiment. Theflowchart of FIG. 25 is identical to the flowchart of FIG. 15, exceptfor steps S62 and S69. Hereinafter, the details of steps S62 and S69will be described.

FIG. 26 is a flowchart illustrating the details of step S62. Theflowchart of FIG. 26 is identical to the flowchart of FIG. 16 except forthe following three steps. Firstly, step S404 is identical to step S304of FIG. 22, where the control unit 11 does not read a media content.Secondly, at step S406, the control unit 11 encapsulates an executionprogram read at step S404 into a capsule 411 as shown in FIG. 24,transmits the capsule 411 to a terminal 2 by means of the communicationunit 13, and stores a usage rule generated at step S405 to the usagerule/processing history database 103, without encapsulating the mediacontent in the capsule 411 for transmission. Thirdly, at step S408, thecontrol unit 22 extracts the execution program 417 from the receivedcapsule 411, and stores the execution program 417 to the memory unit 24.Herein, it will be appreciated that the control unit 22 does not extracta media content from the capsule 411. After a fourth capsuledistribution process is thus completed, step S63 of FIG. 25 isperformed.

FIG. 27 is a flowchart illustrating the details of step S69. Theflowchart of FIG. 27 is identical to the flowchart of FIG. 19, exceptfor step S467. Step S467 is identical to step S367 of FIG. 23. After afourth media content process is thus completed, step S70 of FIG. 25 isperformed.

As in the first embodiment, it is also applicable in the presentembodiment to update the usage rule without storing the processinghistory in order to determine the availability of a media content. As inthe second embodiment, it is also applicable in the present embodimentfor the server 1 to determine the availability of a media content basedon a usage rule stored in the server 1 itself and notify the result ofthe determination to the terminal 2. As in the third embodiment, it isalso applicable in the present embodiment to store media contents in anencrypted form in the server 1.

As described above, in the media contents distribution system accordingto the present embodiment, an execution program is distributed to theterminal 2, whereas a media content and a usage rule are kept undermanagement at the server 1. As a result, in addition to the effectsattained according to the first embodiment, it becomes possible toprevent unauthorized duplication of the media contents or tampering ofthe usage rules at the terminals 2.

In the media contents distribution system according to any of the firstto fourth embodiments of the present invention, a billing function, amiddleware distribution function, a selective distribution function ofmedia contents and the like, and other like functions can be added.Hereinafter, further embodiments based on the first embodiment, whereone of the aforementioned extra functions is additionally introduced,will be described.

Fifth Embodiment

A media contents distribution system according to the fifth embodimentof the present invention is based on the first embodiment, where abilling function is additionally introduced. In the present embodiment,a billing process for a terminal (i.e., a user of a terminal) isperformed at the server.

As in the case of the first embodiment, the media contents distributionsystem according to the present embodiment has a configuration asillustrated in FIGS. 1 to 3. FIG. 28 is a diagram illustrating thedetails of a storage unit 12 according to the present embodiment. FIG.28 shows a storage unit 12 c, which is a more detailed representation ofthe storage unit 12 shown in FIG. 1. The storage unit 12 c internalizesa media content database 101, an execution program database 102, and abilling information database 104. Since the details of the media contentdatabase 101 and the execution program database 102 are similar to thosein the first embodiment (see FIG. 4), the descriptions thereof areomitted from FIG. 28.

The billing information database 104 stores identifiers of users (userIDs) of the terminals 2, billing information concerning the respectiveusers, and a fee table. The billing information represents a sum for theuser of each terminal 2 to pay to the provider of a media content. Thefee table describes fees for using the respective media contents storedin the media content database 101. More specifically, the fee tabledescribes fees for each media content, in accordance with an allowablesection for use, a mode of use (e.g., playback, duplication, orediting), an allowable number of times of use, an allowable total timeof use, an allowable period of use, and the like.

The media contents distribution system according to the presentembodiment operates in accordance with a flowchart which is based on theflowcharts shown in FIGS. 8 to 12, with a billing process beingadditionally introduced at three points. Specifically, a billing processis inserted at each point immediately after a usage rule is generated,i.e., immediately after step S105 (FIG. 9), step S124 (FIG. 10), andstep S145 (FIG. 11).

FIG. 29 is a flowchart illustrating the details of the billing process.The billing process is performed by the control unit 11 immediatelyafter a usage rule is generated. Based on the fee table stored in thebilling information database 104, the control unit 11 calculates a feein accordance with the generated usage rule (step S501). Next, thecontrol unit 11 looks for a user of a terminal 2 which is a recipient ofthe usage rule, from within the billing information database 104 (stepS502). Then, the control unit 11 adds the fee calculated at step S501 tothe billing information for the user detected at step S502 (step S503).Through such a billing process, a fee which is in accordance with thegenerated usage rule is calculated. By summing up such fees, a totalbilling for each user can be determined.

According to the present embodiment, the payment of usage fees is madeon a predetermined date (e.g., the fifteenth day of every month), basedon the billing information stored in the billing information database104. The payment of the usage fees may be automatically made, forexample, by the server 1 communicating with a host computer (not shown)of a bank or a credit card company via the network 3.

As described above, in the media contents distribution system accordingto the present embodiment, a server bills a terminal in accordance witha usage rule which is set. The usage rule may include, for example, anallowable section (of a media content) of use, an allowable number oftimes of use, an allowable total time of use, and an allowable period ofuse. By employing an allowable section for use, it becomes possible tocharge a fee which is in accordance with the length of the section of amedia content which has been used. By employing an allowable number oftimes of use, it becomes possible to charge a fee which is in accordancewith the number of times which a media content has been used. Byemploying an allowable total time of use, it becomes possible to chargea fee which is in accordance with the amount of time for which a mediacontent has been used. By employing an allowable period of use, itbecomes possible to charge a fee which is in accordance with the lengthof the allowable period of use for a media content. It is also possibleto charge a fee which is in accordance with the mode of use (e.g.,playback, duplication, editing) of a media content. As a result, a userof a terminal may only need to pay a fee according to the extent towhich the user has actually used the media content.

Although a prepaid method in which billing is performed at the time ofgenerating a usage rule is adopted in the above-described configuration,a “postpaid” method may alternatively be adopted, in which billing isperformed as the user actually uses a media content. In this case, thecontrol unit 11 may calculate fees by referring to the processinghistory which is notified from each terminal 2.

Sixth Embodiment

A media contents distribution system according to the sixth embodimentof the present invention is based on the first embodiment, where amiddleware distribution function is additionally introduced. When thereare terminals which are diverse in hardware construction or OS(operating system) environment, it may actually be impossible for someof the terminals to execute a certain execution program distributed fromthe server. Therefore, according to the present embodiment, middlewareis distributed, together with an execution program, from the server to aterminal. The middleware is used for constructing an operatingenvironment for the execution program.

As in the case of the first embodiment, the media contents distributionsystem according to the present embodiment has a configuration asillustrated in FIGS. 1 to 3. FIG. 30 is a diagram illustrating thedetails of the storage unit 12 according to the present embodiment. FIG.30 shows a storage unit 12 d, which is a more detailed representation ofthe storage unit 12 shown in FIG. 1. The storage unit 12 d internalizesa media content database 101, an execution program database 102, and amiddleware database 105. Since the details of the media content database101 and the execution program database 102 are similar to those in thefirst embodiment (see FIG. 4), the descriptions thereof are omitted fromFIG. 30.

In the case where a plurality of types of hardware and/or OS areemployed by the terminals 2, the middleware database 105 stores aplurality of corresponding middleware programs. FIG. 30 illustrates amanner in which middleware programs such as “Middleware 1”, “Middleware2”, and “Middleware 3” are stored in the middleware database 105 in thecase where hardware and/or OS employed by the terminals 2 can beclassified into “environment α”, “environment β”, “environment γ”, etc.It is assumed that any execution program stored in the execution programdatabase 102 can operate on all middleware programs stored in themiddleware database 105.

The media contents distribution system according to the presentembodiment operates in accordance with the flowcharts shown in FIG. 8,FIG. 10, FIG. 12, FIG. 31, and FIG. 33. FIG. 31 is a flowchartillustrating the details of step S2 of FIG. 8. The flowchart of FIG. 31is identical to the flowchart of FIG. 9 except for the following fivesteps. Firstly, when transmitting at step S602 a request accepted atstep S601 to the server 1, the control unit 22 includes informationconcerning the hardware and/or OS employed at the terminal 2(hereinafter referred to as “environmental information”) in the requestfor transmission. Secondly, at step S606, the control unit 11 determineswhether or not an execution program read at step S604 is executable bythe recipient terminal 2, based on the environmental informationtransmitted at step S602. Thirdly, if the result of the determination atstep S606 is “NO”, the control unit 11 reads at step S608 a middlewareprogram which is compatible with the terminal 2 from the middlewaredatabase 105. Fourthly, at step S609, the control unit 11 encapsulatesthe media content and the execution program read at step S604, a usagerule generated at step S605, and the middleware program read at stepS608 into a capsule, and transmits the capsule to the terminal 2 bymeans of the communication unit 13. Fifthly, at step S611, the controlunit 22 extracts the usage rule, the media content, and the executionprogram from the capsule received at step S610 and stores them to thememory unit 24, and applies similar processes to any middleware programcontained in the capsule. Thus, in accordance with step S2 with amiddleware distribution function additionally incorporated, it ispossible to distribute middleware at the time of distributing anexecution program to the terminal 2, as necessary.

FIG. 32 is a diagram illustrating an exemplary structure of a capsulewhich is transmitted from the server 1 to a terminal 2 at step S609. Asshown in FIG. 32, a capsule 611 includes a header portion 612 and a dataportion 613. The header portion 612 stores a destination address 614 ofthe capsule 611. The data portion 613 stores a usage rule 615, a mediacontent 616, an execution program 617, and a middleware program 618.

FIG. 33 is a flowchart illustrating the details of step S6 of FIG. 8.The flowchart of FIG. 33 is identical to the flowchart of FIG. 11,except for the following six steps. Firstly, step S642 is identical tostep S602 of FIG. 31. Secondly, step S646 is identical to step S606 ofFIG. 31. Thirdly, step S648 is identical to step S608 of FIG. 31.Fourthly, at step S649, the control unit 11 transmits an executionprogram read at step S644, a usage rule generated at step S645, and amiddleware program read at step S648 to the terminal 2 by means of thecommunication unit 13. Fifthly, when receiving at step S650 a new usagerule and another execution program transmitted from the server 1 bymeans of the communication unit 23, the control unit 22 also receives amiddleware program, if any. Sixthly, when overwriting at step S651 thenew usage rule and the other execution program received at step S650 soas to respectively replace the usage rule and the execution programstored in the memory unit 24, the control unit 22 applies similarprocesses to any middleware program received at step S650. In accordancewith step S6 in which a middleware distribution function is additionallyintroduced, it becomes possible to distribute middleware, as necessary,when distributing a new execution program to a terminal 2.

Before activating the execution program at step S8 of FIG. 8, thecontrol unit 22 activates the middleware program stored in the memoryunit 24. As a result, an operating environment for being able to executean execution program distributed from the server 1 and process adistributed media content is constructed at the terminal 2.

As described above, in the media contents distribution system accordingto the present embodiment, if a terminal 2 is unable to execute anexecution program because of an incompatibility problem related to thehardware and/or OS of the terminal 2, a middleware program which iscompatible with the hardware and/or OS employed at the terminal 2 isdistributed from the server 1 to the terminal 2, together with anexecution program. As a result, in spite of a diversity in hardwareand/or OS, etc., it becomes possible to execute an execution program andprocess a distributed media content at various types of terminals 2.

Seventh Embodiment

A media contents distribution system according to the seventh embodimentof the present invention is based on the first embodiment, where aselective distribution function of media contents and the like isadditionally introduced. According to the present embodiment, a mediacontent and/or an execution program which is selected in accordance withthe processing ability of a terminal, a state of communications, andsimilar factors is distributed from the server to the terminal.

As in the case of the first embodiment, the media contents distributionsystem according to the present embodiment has a configuration asillustrated in FIGS. 1 to 3. The structure of the storage unit 12 isidentical to that of the storage unit 12 in the first embodiment (seeFIG. 4). In the present embodiment, in order to realize a selectivedistribution function for media contents and the like, the media contentdatabase 101 stores a plurality of media contents which are directed tothe same substance, and the execution program database 102 stores aplurality of execution programs which provide the same function. Morespecifically, the execution program database 102 stores a plurality ofexecution programs which provide the same function but require differentlevels of processing ability. The media content database 101 stores aplurality of media contents which are directed to the same substance butrequire different levels of processing ability, or a plurality of mediacontents which are directed to the same substance but differ in dataamount per unit time.

In order to realize a selective distribution of media contents and thelike, the server 1 utilizes tables illustrated in FIGS. 34 and 35. Thetable of FIG. 34 shows a correspondence between execution programsstored in the execution program database 102, functions of executionprograms, and processing abilities of terminals 2. Each row of the tablecorresponds to a certain function of an execution program, whereas eachcolumn of the table corresponds to a certain processing ability of aterminal 2. The table of FIG. 34 illustrates that, if a given terminal 2has a processing ability equivalent to that of a personal computer(“PC”), then a media content playback program “Program 11”, a mediacontent playback and duplication program “Program 21”, a media contentduplication program “Program 31”, and a media content editing program“Program 41” are available. If a given terminal 2 has a processingability equivalent to that of a mobile phone, then a media contentplayback program “Program 21” is available. Similar readings also applyto the columns corresponding to a terminal 2 having a processing abilityequivalent to that of a set top box (“STB”) or a personal digitalassistant (“PDA”). Any slot which shows “-”, instead of a program name,indicates that no corresponding execution program exists for that slot.

The table of FIG. 35 shows a correspondence between media contentsstored in the media content database 101, content IDs, and encodingmethods. Each row of the table corresponds to a certain content ID,whereas each column of the table corresponds to a certain encodingmethod. Note that the same content ID is assigned to media contentswhich are directed to the same substance even if their encoding methodsare different. The table of FIG. 35 illustrates that as a result ofencoding a media content having a content ID “Co0001” employing an MPEG2high bit-rate method, an MPEG2 low bit-rate method, an MPEG4 highbit-rate method, or an MPEG4 low bit-rate method, “Contents1-2H.mpg”,“Contents1-2L.mpg”, “Contents1-4H.mp4”, or “Contents1-4L.mp4” isobtained, respectively. Similar readings also apply to any media contenthaving a content ID other than “Co0001”.

At least one of the tables shown in FIG. 34 and FIG. 35 is stored in thecontrol unit 11 or the storage unit 12. Employing these tables, thecontrol unit 11 selects and distributes a media content or an executionprogram in the following manner. In the flowcharts of FIGS. 8 to 12, amedia content is selected at step S104 of FIG. 9, and an executionprogram is selected at step S104 of FIG. 9 and at step S144 of FIG. 11.

In a first example, the server 1 may select and distribute an executionprogram based on the processing ability of a terminal 2. In this case,before distributing an execution program, the server 1 receivesinformation concerning the processing ability of the terminal 2 (e.g.,the processor performance, memory capacity, and the like of the terminal2). By referring to the table shown in FIG. 34, the server 1 selects anexecution program which is in accordance with the processing ability ofthe terminal 2, and transmits the selected execution program to theterminal 2. As a result, an execution program that has been optimallyselected in accordance with the processing ability of the terminal 2 canbe distributed from the server 1 to the terminal 2.

In a second example, the server 1 may select and distribute a mediacontent based on the processing ability of a terminal 2. In this case,before distributing a media content, the server 1 receives informationconcerning the processing ability of the terminal 2. By referring to thetable shown in FIG. 35, the server 1 selects a media content which is inaccordance with the processing ability of the terminal 2, and transmitsthe selected media content to the terminal 2. As a result, a mediacontent that has been optimally selected in accordance with theprocessing ability of the terminal 2 can be distributed from the server1 to the terminal 2. Note that, in the first and second examples, theserver 1 may receive from the terminal 2 an encoding method(s) which isexecutable by a particular terminal 2 as information concerning theprocessing ability of the terminal 2, and select a media content basedon such information.

In a third example, the server 1 may select and distribute a mediacontent based on a state of communications occurring between the server1 and a terminal 2. In this case, before distributing a media content,the server 1 monitors the state of the network 3, and accordinglyselects a media content and distributes the selected media content tothe terminal 2. For example, if the bandwidth of the network 3 isadequate, the server 1 may select a media content which has been encodedby an MPEG4 high bit-rate method, and if the bandwidth of the network 3is relatively scarce, select a media content which has been encoded byan MPEG4 low bit-rate method. As a result, a media content that has beenoptimally selected in accordance with the state of communications can bedistributed from the server 1 to the terminal 2.

As described above, in the media contents distribution system accordingto the present embodiment, a media content or an execution program thathas been optimally selected in accordance with the processing ability ofa terminal or a state of communications can be distributed from theserver to the terminal. Note that, since the selective distribution of amedia content and the selective distribution of an execution program areseparate functions, the server 1 may only have one of these functions.

Thus, the media contents distribution systems according to the fifth toseventh embodiments are based on the media contents distribution systemaccording to the first embodiment, with a billing function, a middlewaredistribution function, and a selective distribution function of mediacontents and the like being additionally introduced. It will beappreciated that any combination of the above three functions may beadditionally introduced to the media contents distribution systemaccording to the first embodiment. It will also be appreciated that anycombination of the above three functions may be additionally introducedto the media contents distribution system according to the second,third, or the fourth embodiment, as applied in the first embodiment.

The above-described first to seventh embodiments and the variantsthereof illustrate the case where a media content and an executionprogram (and if necessary, a usage rule) are distributed from a singleserver 1. Alternatively, the distribution functions for these threekinds of data may be dispersed over a plurality of servers. For example,the media contents distribution system may comprise first to thirdservers, such that the first server distributes media contents, thesecond server distributes execution programs, and the third serverdistributes usage rules.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It isunderstood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

1. A media contents distribution system for distributing a media contentvia a communication network, said media contents distribution systemcomprising a server and a terminal, wherein said server comprises: acondition setting unit operable to determine a usage rule for the mediacontent to be transmitted to said terminal; a server-side storage unitoperable to store the media content, an execution program for processingthe media content, and the usage rule for the media content; and atransmission unit operable to transmit the media content and theexecution program stored in said server-side storage unit to saidterminal prior to using the media content, and at a time of using themedia content, transmit the usage rule stored in said server-sidestorage unit to said terminal; wherein said terminal comprises: areception unit operable to receive the media content, the executionprogram, and the usage rule from said server; a terminal-side storageunit operable to store the media content and the execution programreceived by said reception unit; a control unit operable to, at the timeof using the media content, permit use of the media content withinbounds of the usage rule determined by said condition setting unit; anda processing unit operable to execute the execution program stored insaid terminal-side storage unit to process the media content stored insaid terminal-side storage unit; and wherein the execution programchecks with said control unit whether or not use of the media contentreceived by said reception unit is permitted, and processes the mediacontent only when use of the media content is permitted.
 2. The mediacontents distribution system according to claim 1, wherein, when saidcondition setting unit determines a new usage rule for the media contentstored in said terminal-side storage unit, said server-side storage unitis operable to update the usage rule stored therein with the new usagerule determined by said condition setting unit.
 3. The media contentsdistribution system according to claim 1, wherein, when a new executionprogram is needed for using the media content at said terminal; saidcondition setting unit is operable to determine a new usage rule for themedia content stored in said terminal-side storage unit; saidserver-side storage unit is operable to update the usage rule storedtherein with the new usage rule determined by said condition settingunit; said transmission unit is operable to transmit the new executionprogram stored in said server-side storage unit to said terminal; saidreception unit is operable to receive the new execution program fromsaid server; and said terminal-side storage unit is operable to updatethe execution program stored therein with the new execution programreceived by said reception unit.
 4. A media contents distribution systemfor distributing a media content via a communication network, said mediacontents distribution system comprising a server and a terminal, whereinsaid server comprises: a condition setting unit operable to determine ausage rule for the media content to be transmitted to said terminal; aserver-side storage unit operable to store the media content and anexecution program for processing the media content; and a transmissionunit operable to transmit the execution program stored in saidserver-side storage unit and the usage rule determined by said conditionsetting unit to said terminal prior to using the media content, andduring use of the media content, transmit the media content stored insaid server-side storage unit to said terminal; wherein said terminalcomprises: a reception unit operable to receive the media content, theexecution program, and the usage rule from said server; a terminal-sidestorage unit operable to store the execution program and the usage rulereceived by said reception unit; a control unit operable to, at a timeof using the media content, permit use of the media content withinbounds of the usage rule determined by said condition setting unit; anda processing unit operable to, concurrently as said reception unitreceives the media content, execute the execution program stored in saidterminal-side storage unit to process the media content received by saidreception unit; and wherein the execution program checks with saidcontrol unit whether or not use of the media content received by saidreception unit is permitted, and processes the media content only whenuse of the media content is permitted.
 5. The media contentsdistribution system according to claim 4, wherein, when said conditionsetting unit determines a new usage rule for the media content to betransmitted to said terminal; said transmission unit is operable totransmit the new usage rule determined by said condition setting unit tosaid terminal; said reception unit is operable to receive the new usagerule from said server; and said terminal-side storage unit is operableto update the usage rule stored therein with the new usage rule receivedby said reception unit.
 6. The media contents distribution systemaccording to claim 4, wherein, when a new execution program is neededfor using the media content at said terminal; said condition settingunit is operable to determine a new usage rule for the media content tobe transmitted to said terminal; said transmission unit is operable totransmit the new execution program stored in said server-side storageunit and the new usage rule determined by said condition setting unit tosaid terminal; said reception unit is operable to receive the newexecution program and the new usage rule from said server; and saidterminal-side storage unit is operable to update the execution programand the usage rule stored therein, with the new execution program andthe new usage rule received by said reception unit, respectively.
 7. Amedia contents distribution system for distributing a media content viaa communication network, said media contents distribution systemcomprising a server and a terminal, wherein said server comprises: acondition setting unit operable to determine a usage rule for the mediacontent to be transmitted to said terminal; a server-side storage unitoperable to store the media content, an execution program for processingthe media content, and the usage rule determined by said conditionsetting unit; and a transmission unit operable to transmit the executionprogram stored in said server-side storage unit to said terminal priorto using the media content, and at a time of using the media content,transmit the usage rule stored in said server-side storage unit to saidterminal, and during use of the media content, transmit the mediacontent stored in said server-side storage unit to said terminal;wherein said terminal comprises: a reception unit operable to receivethe media content, the execution program, and the usage rule from saidserver; a terminal-side storage unit operable to store the executionprogram received by said reception unit; a control unit operable to, atthe time of using the media content, permit use of the media contentwithin bounds of the usage rule determined by said condition settingunit; and a processing unit operable to, concurrently as said receptionunit receives the media content, execute the execution program stored insaid terminal-side storage unit to process the media content received bysaid reception unit; and wherein the execution program checks with saidcontrol unit whether or not use of the media content received by saidreception unit is permitted, and processes the media content only whenuse of the media content is permitted.
 8. The media contentsdistribution system according to claim 7, wherein, when said conditionsetting unit determines a new usage rule for the media content to betransmitted to said terminal, said server-side storage unit is operableto update the usage rule stored therein with the new usage ruledetermined by said condition setting unit.
 9. The media contentsdistribution system according to claim 7, wherein, when a new executionprogram is needed for using the media content at said terminal; saidcondition setting unit is operable to determine a new usage rule for themedia content to be transmitted to said terminal; said server-sidestorage unit is operable to update the usage rule stored therein withthe new usage rule determined by said condition setting unit; saidtransmission unit is operable to transmit the new execution programstored in said server-side storage unit to said terminal; said receptionunit is operable to receive the new execution program from said server;and said terminal-side storage unit is operable to update the executionprogram stored the rein with the new execution program received by saidreception unit.
 10. A terminal for receiving a media content distributedfrom a server via a communication network, said terminal comprising: areception unit operable to, prior to using the media content, receivethe media content from the server and an execution program forprocessing the media content from the server or a second server, and ata time of using the media content, receive a usage rule for the mediacontent; a storage unit operable to store the media content and theexecution program received by said reception unit; a control unitoperable to, at the time of using the media content, permit use of themedia content within bounds of the usage rule determined by the server,the second server or a third server; and a processing unit operable toexecute the execution program stored in said storage unit to process themedia content stored in said storage unit, wherein the execution programchecks with said control unit whether or not use of the media contentreceived by the reception unit is permitted, and processes the mediacontent only when use of the media content is permitted.
 11. A terminalfor receiving a media content distributed from a server via acommunication network, said terminal comprising: a reception unitoperable to, prior to using the media content, receive an executionprogram for processing the media content from the server or a secondserver and a usage rule for the media content from the server, thesecond server or a third server, and during use of the media content,receive the media content from the server; a storage unit operable tostore the execution program and the usage rule received by saidreception unit; a control unit operable to, at the time of using themedia content, permit use of the media content within bounds of theusage rule determined by the server, the second server or the thirdserver; and a processing unit operable to, concurrently as saidreception unit receives the media content, execute the execution programstored in said storage unit to process the media content received bysaid reception unit, wherein the execution program checks with saidcontrol unit whether or not use of the media content received by thereception unit is permitted, and processes the media content only whenuse of the media content is permitted.
 12. A terminal for receiving amedia content distributed from a server via a communication network,said terminal comprising: a reception unit operable to receive, prior tousing the media content, an execution program for processing the mediacontent from the server or a second server, and at a time of using themedia content, receive a usage rule for the media content from theserver, the second server or a third server, and during use of the mediacontent, receive the media content from the server; a storage unitoperable to store the execution program received by said reception unit;a control unit operable to, at the time of using the media content,permit use of the media content within bounds of the usage ruledetermined by the server, the second server or the third server; and aprocessing unit operable to, concurrently as said reception unitreceives the media content, execute the execution program stored in saidstorage unit to process the media content received by said receptionunit, wherein the execution program checks with said control unitwhether or not use of the media content received by the reception unitis permitted, and processes the media content only when use of the mediacontent is permitted.